#函数参数

#形式参数和实参
# def func(a1,a2,a3):
#     return a1+a2+a3
#
# print(func(1,2,3))

#位置传参和关键字传参
# def func(a1,a2):
#     return a1+a2

# print(func(1,2))
# print(func(a1=6,a2=2))
# print(func(6,a2=2))
# print(func(a1=6,2))#这种写法是错误的

#默认参数
# def func1(a1,a2,a3=5):
#     return a1+a2+a3
#
# # def func2(a1,a2=3,a3):#这种写法是错误的
# #     return a1+a2+a3
# def func2(a1,a2=4,a3=5):
#     return a1+a2+a3
#
# print(func1(1,1))
# print(func2(1))

#动态参数
#*  默认形参args为元组类型
# def fun(*args):
#     print(args)
#     print(type(args))
# fun(1)
# fun(1,2,3,4)
# fun()

#**  只能按照关键字传参  默认形参是字典类型
# def fun(**args):
#     print(args)
#     print(type(args))
# fun(a="k1",m=3)
# fun(a="k2",b=2)
# fun()


#*和**
# def fun(*args,**kwargs):
#     print(args)
#     print(kwargs)
#
# fun(1,2,3,4,5)
# fun(13456,456,name="xiaofeng",age=19,sex="boy")
